package club.service;

import club.pojo.Blog;
import com.github.pagehelper.PageInfo;

public interface BlogService {

    /**
     * 根据操作时间和分页条件查询所有博客
     *
     * @param actionTime 操作时间，用于筛选特定时间段内的博客
     * @param pageNum    当前页码
     * @param pageSize   每页显示条数
     * @return 分页后的博客列表
     */
    PageInfo<Blog> findAllBlog(String actionTime, Integer pageNum, Integer pageSize);

    /**
     * 添加新的博客
     *
     * @param blog 待添加的博客对象
     * @return 插入操作影响的行数，通常为1
     */
    int add(Blog blog);

    /**
     * 根据博客ID查找博客信息
     *
     * @param id 博客的ID
     * @return 对应ID的博客信息，若不存在则返回null
     */
    Blog findById(Integer id);

    /**
     * 更新博客信息
     *
     * @param blog 待更新的博客对象
     * @return 更新操作影响的行数，通常为1
     */
    int updateBlog(Blog blog);

    /**
     * 删除指定ID的博客
     *
     * @param id 待删除博客的ID
     * @return 删除操作影响的行数，通常为1
     */
    int del(Integer id);

    /**
     * 分页查询所有博客
     *
     * @param pageNum  当前页码
     * @param pageSize 每页显示条数
     * @return 分页后的博客列表
     */
    PageInfo<Blog> blogs(Integer pageNum, Integer pageSize);
}
